今天使用的範例出自高煥堂老師的書《AI機器人、藍芽與Android整合開發技術》,需要完整程式碼請參考書中內容喔。
本篇會以 Ex14-01-ZenboWiFi
這份程式碼說明如何將語料安裝到 Zenob 中。
你需要
Ex14-01-ZenboWiFi
Sample code在 DDE info 設定的地方,Launch Activity 要填 APP 啟動的第一個 Activity,完整路徑可以看 Manifest。
還記得你的 Domain UUID 嗎?
在 DDE info 最上面 點選 All
可以查看你所有的 uuid。
打開 Android 專案,範例中基本都已經打好了,我們只須把自己的 Domain 換上去。
特別注意,總共有 3 個地方要改唷
第一次安裝,開啟時應該會自動更新語料。
去 DS Tools 確認是否有更新成功
DS Tools 可以在 DDE Tutorial-Links 找到下載連結。
把 APK 裝到 Zenbo 的方法很多,用隨身碟或雲端硬碟都行。
可以管理自己安裝在 Zenbo 上的語料庫。
如果剛才 DDE 有安裝成功的話,這裡點選 Show APP List
會看到 Package name、UUID 和 更新時間。確認一下 PKG 和 UUID 是不是都符合前面的設定。
以後如果要更新 DDE 的話,可以先點選要更新的 APP,讓 UUID 自動帶到上方欄位,再按 Update by ID
。
這就是我前幾篇提到,我寫信給客服信箱的問題了。我前面不知道怎麼弄的,PKG 和 UUID 一直對不上,所以沒辦法更新。客服請我先把裝壞的 DS 資料清掉,這邊紀錄一下作法。
我有改過 Ex14-01-ZenboWiFi
的畫面和部份的 code 成品大概像影片這樣。
截自我的論文:
根據文獻(朱祐萱,2019;白麗等,2018),Zenbo 的語音識別功能,不能清楚辨識指令,是其主要問題。再加上本研究嘗試使用 Zenbo SDK 實作語音回答時,發現 Zenbo 無法處理破音字的發音。例如,「長照」正確唸法是「長(ㄔㄤˊ)照」,但 Zenbo SDK 會唸作「長(ㄓㄤˇ)照」。有時也會跳過句子中的某些字,例如,「台中市政府長期照顧管理中心」的「長」、「原住民」的「民」。
經過嘗試,最後本研究決定在 APP 中,使用 Android 官方提供的兩個函式庫「android.speech.RecognizerIntent」(以下簡稱 RecognizerIntent)與「android.speech.tts.TextToSpeech」(以下簡稱 TextToSpeech)。根據官方文件 RecognizerIntent(Android Developers, 2021)可以透過 Intent(意圖)啟動語音辨識;TextToSpeech(Android Developers, 2021)可以從文本合成出語音後,立即播放或儲存成音檔。
為了解決 Zenbo 反應遲鈍,我們在 APP 中提供按鈕,按下按鈕便會觸發 RecognizerIntent 開始聆聽使用者的問題,並將問句顯示在畫面上,使用者可以確認語音輸入的結果是否正確再點選送出
這就是我最後沒有使用 DDE 和 Zenbo SDK 的原因。